The design of integrated circuits is based on integrating a plurality of elementary cells (similar cells often being stored together in a cell library) having predetermined logic functions. In general, two types of design may be distinguished.
According to the first type of design, an integrated circuit is constructed by selecting and interconnecting individual cells from a library comprising a large number, e.g., about a thousand, predesigned cells having simple functions, e.g., primitive Boolean logic functions (e.g., NAND, NOR and the like) and basic storage functions (e.g., latches, flip-flops and the like). Such cells providing simple functions and having simple implementation are often referred to as “standard cells”.
According to the second type of design, the cells are selected from a cell library providing cells specifically adapted to a particular circuit environment for which they are intended. Such cells providing more specialized functions and having more complex implementations are often referred to as “data-path” cells. Although data-path cells can be implemented by interconnecting standard cells, they are usually designed from scratch. In a given circuit, the use of data-path cells specifically developed for the environment of that particular circuit makes it possible to achieve better performance characteristics (typically in terms of speed, power consumption and footprint). However, the design cost is higher.
Thus, data-path cells are typically used only for high-speed circuits, for circuits requiring optimized performance characteristics, and the like. For example, microprocessors can be constructed from as an interconnected network of data-path cells. Often such a network is organized as one or more data-paths, which are typically linear arrangements of data-path cells that provide conduits for the flow and transformation of data. Data-path cells often found in a microprocessor include computational cells (e.g., multiplexers, shifters, adders, multipliers, and the like) and state elements (e.g., sequential circuits such as latches, register files and so like).
It is well known in the field of microelectronic devices, the field of application of the present invention, that improvements in performance (speed, power consumption and the like) and miniaturization are ongoing requirements. However, it is also well known that miniaturization can lead to problematic performance effects due to, e.g., short channel effects, small channel volume effects, and the like, and to problematic fabrication effects due to, e.g., irregularities in photolithography of highly miniaturized patterns.
Accordingly, there is a need in the art for data-path cells that overcome such problems of miniaturization and provide improved performance and size characteristics.